{{- $profile := .Site.Params.home.profile -}}
<div class="home-profile">
    {{- $avatar := $profile.avatarURL -}}
    {{- with $profile.gravatarEmail -}}
    {{- $avatar = md5 . | printf "https://www.gravatar.com/avatar/%v?s=240&d=mp" -}}
    {{- end -}}
    {{- if $avatar -}}
    <div class="home-avatar">
        {{- $menus := $.Site.Menus.main | default slice -}}
        {{- $optim := slice 
            (dict "Process" "fill center 96x96 webp q75" "descriptor" "96w")
            (dict "Process" "fill center 144x144 webp q75" "descriptor" "144w")
            (dict "Process" "fill center 192x192 webp q75" "descriptor" "192w") 
        -}}
        {{- with index $menus 0 -}}
            {{- $url := .URL | relLangURL -}}
            {{- with .Page -}}
                {{- $url = .RelPermalink -}}
            {{- end -}}
            {{- with $profile.avatarLinkURL -}}
                {{- $url = . -}}
            {{- end -}}
            <a href="{{ $url }}" {{ with .Title | default .Name }} title="{{ . }}" {{ end }}{{ if (urls.Parse $url).Host }} rel="noopener noreferrer" target="_blank" {{ end }}>
                {{- dict "Src" $avatar "Height" "100" "Width" "100" "Loading" "eager" "OptimConfig" $optim "Alt" "Home avatar" | partial "plugin/image.html" -}}
            </a>
        {{- else -}}
            {{- dict "Src" $avatar "Height" "100" "Width" "100" "Loading" "eager" "OptimConfig" $optim "Alt" "Home avatar" | partial "plugin/image.html" -}}
        {{- end -}}
    </div>
    {{- end -}}

    {{- with $profile.title -}}
    <h1 class="home-title">
        {{- . | safeHTML -}}
    </h1>
    {{- end -}}

    {{- with $profile.subtitle -}}
    <h2 class="home-subtitle">
        {{- if $profile.typeit -}}
        {{- $id := dict "Content" . "Scratch" $.Scratch | partial "function/id.html" -}}
        <div id="{{ $id }}" class="typeit"></div>
        {{- dict $id (slice $id) | dict "typeitMap" | merge ($.Scratch.Get "this") | $.Scratch.Set "this" -}}
        {{- else -}}
        {{- . -}}
        {{- end -}}
    </h2>
    {{- end -}}

    {{- if $profile.social -}}
    <div class="links">
        {{- $socialMap := resources.Get "data/social.yml" | transform.Unmarshal -}}
        {{- $socialArr := slice -}}
        {{- range $key, $value := .Site.Params.social -}}
        {{- $social := $key | lower | index $socialMap | default dict -}}
        {{- if $value -}}
        {{- if reflect.IsMap $value -}}
        {{- with $value.weight -}}
        {{- $social = dict "Weight" . | merge $social -}}
        {{- end -}}
        {{- with $value.prefix -}}
        {{- $social = dict "Prefix" . | merge $social -}}
        {{- end -}}
        {{- with $value.template -}}
        {{- $social = dict "Template" . | merge $social -}}
        {{- end -}}
        {{- with $value.id -}}
        {{- $social = dict "Id" . | merge $social -}}
        {{- end -}}
        {{- with $value.url -}}
        {{- $social = dict "Url" . | merge $social -}}
        {{- end -}}
        {{- with $value.title -}}
        {{- $social = dict "Title" . | merge $social -}}
        {{- end -}}
        {{- with $value.newtab -}}
        {{- $social = dict "Newtab" . | merge $social -}}
        {{- end -}}
        {{- with $value.icon -}}
        {{- $social = dict "Icon" . | merge $social -}}
        {{- end -}}
        {{- else if ne $value true -}}
        {{- $social = dict "Id" $value | merge $social -}}
        {{- end -}}
        {{- if $social.Icon.Simpleicons -}}
        {{- $prefix := ($.Scratch.Get "cdn" | default dict).simpleIconsPrefix -}}
        {{- $social = dict "Prefix" $prefix | dict "Icon" | merge $social -}}
        {{- end -}}
        {{- $socialArr = $socialArr | append $social -}}
        {{- end -}}
        {{- end -}}
        {{- range sort $socialArr "Weight" -}}
        {{- partial "plugin/social.html" . -}}
        {{- end -}}
    </div>
    {{- end -}}

    {{- with $profile.disclaimer -}}
    <h3 class="home-disclaimer">
        {{- . | safeHTML -}}
    </h3>
    {{- end -}}
</div>